﻿using System;

namespace BodaNetCommunications.Utilities.DataLibs
{
    //
    // 摘要:
    //     单个字节转换库
    public class ByteLib
    {
        //
        // 摘要:
        //     从字节数组中截取某个字节
        //
        // 参数:
        //   source:
        //
        //   start:
        public static byte GetByteArray(byte[] source, int start)
        {
            return ByteArrayLib.GetByteArray(source, start, 1)[0];
        }

        //
        // 摘要:
        //     将字节中的某个位赋值
        //
        // 参数:
        //   value:
        //     原始字节
        //
        //   bit:
        //     位
        //
        //   val:
        //     写入数值
        //
        // 返回结果:
        //     返回字节
        public static byte SetbitValue(byte value, int bit, bool val)
        {
            return val ? (byte)(value | (byte)Math.Pow(2.0, bit)) : (byte)(value & (byte)~(byte)Math.Pow(2.0, bit));
        }
    }
}